Introduction
A general strategy for sending digital data reliably through a communications channel of varying quality is to send redundant information so that a stream of transmitted source bits can be recovered without error at a receiver even though the communications channel may be erratic. This is particularly important for one-way broadcasts of audio and multimedia that must be received in real-time with a low error rate. In such cases, a low error rate is achieved partly through the use of forward error correction (FEC) code.
The mobile satellite broadcast channel is such an erratic channel since, particularly at lower elevations angle, the line-of-sight (LOS) between a mobile vehicle and the satellite is often obstructed by trees, buildings, signs, utility poles and wires. Such obstructions attenuate and distort a communications waveform, thereby causing high error rates for brief and longer periods of time. A common approach to reliable satellite broadcasting is to implement spatial diversity by broadcasting duplicate signals from satellites at two different orbital locations. In addition, temporal diversity may also be used by delaying one signal by a fixed amount of time. Indeed, some satellite systems also rely upon terrestrial repeating of the satellite signal which is yet another source of diversity. FIG. 1 illustrates a satellite broadcasting system that has dual diversity from 2 satellites (101 and 102) and is augmented by terrestrial repeating (104), thereby providing 3-fold diversity. The origin of the satellite broadcasts is the hub station (103). Both of the satellites and the terrestrial repeaters broadcast the same source data, but the channels that the data travels over are different so that diversity is provided. A diversity radio in the vehicle (104) would in general receive all the signals (satellite and terrestrial) and use this to reconstruct the source data as faithful as possible based upon the reception from the multiple sources.
Current State of the Art for Diversity
FIG. 2 illustrates a generic implementation of diversity using two channels A and B. Although the discussion here is limited to two channels (A and B), all of the concepts put forth are applicable to 3 or more diverse channels. For a broadcast satellite application, signals A and B would be sent by two different satellites, and the channels for those signals are denoted also denoted as A and B. At the outset, each individual channel has some diversity due to the fact that Encoding (201) adds redundancy to a single data stream so that the source bits can be recovered without error even though limited numbers coded bits may be lost over the channel. Also, additional diversity (spatial) is used that involves modulating (Mod 204) duplicate streams of data over independent channels A and B. Finally, as illustrated in FIG. 2, time diversity is also used by implementing a fixed Time Delay (203) on signal B at the transmitter, and compensating for this with a comparable Time Delay (253) at the receiver. The diversity receiver has two demodulators (Demod-254) to receive the signals on Channel A and B simultaneously. Finally, the diversity receiver implements Combining (252) of the bits received on Channels A and B and Decoding (251) of the recovered code bits.
Note that in the implementation of diversity illustrated in FIG. 2, encodes the data stream and places identical coded data streams on both A and B channels. In this case, the diversity receiver captures the same coded bits from each channel and then implements a combining scheme to come up with a xe2x80x9cbestxe2x80x9d estimate for each received code bit. Such combining may involve ongoing calculation of a quality metric for data on channels A and B and selecting the coded bits that are carried on the best channel at any point in time. Alternatively, combining may be more sophisticated in which the quality metric is used to generate weights for the code bits arriving on channels A and B and thereby constructing a summed estimate that maximizes the signal to noise composite signal. Such an approach is referred to as maximum ratio combining (MRC).
A widely used implementation of an encoder is a convolutional code. The typical construction of a convolutional code is illustrated in FIG. 3. The source bits are input into a digital shift register from the left, and the coded bits are constructed by a sum of the current and 6 most recent input source bits as weighted by a generator polynomial over a Galois Field. This implementation generates a rate 1/2 code because it outputs 2 code bits (x and y) for every input source bit.
It is customary to construct less redundant codes from such a code by puncturing (deleting) output code bits in a particular pattern. Table 1 illustrates the construction of a rate 3/4 code from a rate 1/2 code. Three source bits are input and the output is 6 code bits: {x(i), y(i), i=1, 3}. Two code bits, x(2) and y(1) are deleted, leaving 4 output code bits for 3 input code bits, thus making a rate 3/4 code.
Table 2 illustrates the use of this rate 3/4 code in a standard implementation in which the puncturing for both A and B channels is identical. Therefore the coded bits on both channel A and B are also identical.
The standard implementation of a punctured convolutional code implemented in the context of spatial and temporal diversity with dual channels is illustrated in FIG. 4. At the transmitter, the Convolutional Encoder (401) generates the code bits from input source bits. Some of the code bits are deleted by the Puncture element (402) prior to modulation by the Mod element (404). The diversity receiver again has two demodulators (Demods-454) to simultaneously receive the broadcasts on both Channel A and B. The retrieved code bits from both A and B are input to the Combining element (452b) which aligns, weights and combines redundant information about a received bit on the two channels. The intent of most combining algorithms is to maximize the signal to noise ratio of the combined signal. After combining, the stream of recovered code bits are input to the De-puncture element (452a) which inserts the erasures into the slots of the code bits that were deleted in the Puncture element (402) of the transmitter.
An object of the invention is to provide an improved digital information broadcasting system and method. Another object of the invention is to provide code diversity in a digital broadcast system. Another object of the invention is to provide an apparatus and method of achieving diversity in reception of plural digital broadcast signals.
Briefly, according to the invention a stream of a complete set of code bits is generated from one or more sources of data bits. A first Critical Subset of code bits is chosen or selected for a first channel (e.g. a specified puncturing pattern is applied to the stream of a complete set of code sets). A second or alternative Critical Subset of code bits is chosen or selected for a second channel (e.g. a second or alternative puncturing pattern is chosen for the second channel). Further alternative Critical Subsets may be chosen for any additional channels. All the channels are transmitters, some can incorporate time delay to achieve temporal diversity. Moreover, the order of transmitting the code bits on each channel can be different (for example, the interleaving depths can be different). At the receiver, the stream of Critical Subsets of code bits for all of the channels are simultaneously received and a reconstruction of a complete set of code bits accomplished and the reconstructed code is inserted into a decoder.